package com.google.code.puertorico

import actors._
import adt.Action

object Main {

  def main(args: Array[String]) {

    // TODO: most likely need some kind of bootstrap object for controlling various settings...

    // Players
    val numberOfPlayers = 4;
    val player1 = Player.initial("Karl");
    val player2 = Player.initial("Bjarke");
    val player3 = Player.initial("Kasper");
    val player4 = Player.initial("PC (Magnus + Matthias)");
    val players = List(player1, player2, player3, player4);

    val state = BoardState.initial(players);

    // Start Actors
    AnalysisActor.start();
    BuilderActor.start();
    CaptainActor.start();
    ChooseStrategyCardActor.start();
    CraftsmanActor.start();
    EndRoundActor.start();
    EndTurnActor.start();
    MayorActor.start();
    NextPlayerActor.start();
    ProspectorActor.start();
    SettlerActor.start();
    TraderActor.start();

    // Launch! :-)
    ChooseStrategyCardActor ! ActionSequence(state, List.empty[Action]);
  }

}